The present invention relates generally to Internet access. More particularly, the present invention provides means for sharing an IP address assigned to a first network device by a second network device such that packets originating from the second network device appear to be originating from the first network device.
The Internet has had a profound impact on the way society communicates. Today, the Internet is used for personal communications, for business communications, for shopping, for entertainment, for news, and more. One of the more recent—and evolving—applications is the use of the Internet for voice communications.
The Internet uses “virtual” circuits that use packets and protocols to establish and maintain communications between points on the network. Each “point” on the Internet has a unique IP address. In theory, a packet from one address is sent to another address. In practice, however, not every device on the Internet can have an address.
The problem, while not solved, has been mitigated by the designation of a group of IP addresses as private addresses. These addresses may be used by anyone and are not assignable. More importantly, these addresses are not recognized by Internet protocols. Anyone is free to use these private addresses on their internal networks. The primary restrictions are that packets with these private addresses in their source or destination fields must be filtered from the Internet, and that routing information for networks with these private addresses must not be promulgated to the Internet. Because a private IP address may be shared among any number of devices, allowing private addresses on to the Internet could result in traffic going to the wrong destination and in corruption of routing tables.
For private addresses to be reusable, they must be reliably hidden from the Internet. Routing ports that connect to the Internet are expected to drop any packets with private network addresses, and routers that connect to the Internet are expected to refrain from sending route updates for private networks. These tasks are performed by a device using network address translation (NAT) or NAT with port translation (NAPT). One side of the NAT component interfaces with the Internet using a global (or public) address. The other side of the NAT component interfaces with an internal network using local (private) addresses. A global address is mapped to a private address by the NAT device. NAPT adds port translation. When a device inside the local network wants to communicate with a device on the Internet, the NAPT substitutes its own global source IP address and a new port number for the local address and port number of the private network device. For NAPT, the NAT router must keep track of how the internal private addresses map to particular ports on the outward-facing IP address. Of course, at any given time, a particular node may have multiple ports active, which requires the router to keep track of all these connections.
A consumer typically will obtain a single IP address with an Internet service provider (ISP). Some ISPs structure their product offerings such that only a single MAC address and IP address may be used on their service. The Internet access device (e.g. a DSL modem or a cable modem) merely bridges the communications between the Internet access device and a single computer. An ISP will receive and process packets generated by this computer. Packets from other network devices will be discarded. In this environment, a consumer must either restrict access to a single computer or invest in purchasing additional equipment (e.g., a router that supports NAT). However, while NAT devices may be appropriate for many businesses, not every consumer wants to become a network engineer simply to have access to VoIP services or other services requiring a network device.
What would useful would be means for sharing an IP address assigned to a first network device by a second network device such that packets originating from the second network device appear to be originating from the first network device.